In a digital communications system, each symbol constituting a message goes through a modulation process before being transmitted. Modulation converts a digital signal into a form which can be transmitted in a channel. The modulation is performed by loading the digital signal onto one or more carriers. This provides a certain variation to the carrier according to a digital value of the digital signal, and enables a receiver to restore the original digital signal from the modulated signal based on the information of the modulation scheme.
Examples of digital modulation schemes include binary phase shift keying (BPSK), quadrature PSK (QPSK) and quadrature amplitude modulation (QAM). BPSK gives variation to a phase of a carrier by utilizing a binary symbol represented as a 0 or a 1. QPSK transmits four levels of data by altering a phase of the carrier into 4 different values having a 90 degree interval. QAM is based on changing both an amplitude and a phase. For example, QAM may produce signals of which amplitudes are identical but phases are different, signals of which phases are identical but amplitudes are different, and signals of which both phases and amplitudes are different. Representative examples of QAM are 16QAM, 64QAM and 256QAM, and may represent 16, 64 and 256 different data values, respectively.
With respect to the above described modulation schemes, a receiver restores an original message through processes of demodulation and detection. The demodulation is a restoration of a signal, while the detection is a process of detecting a digital value of the signal. In the case of BPSK, detection of a message is relatively easy, for it only requires a decision between two possible values.
However, in the case of QPSK or QAM, the decision process is more complex due to the increased number of possible transmit values. Common detection techniques, rather than making an instantaneous decision as to whether a bit is a 0 or a 1, generate a value representing the likelihood of a 0 or a 1. This determination is called a soft decision. In this instance, a detector output is called a soft bit. More particularly, the soft decision is performed by calculating a likelihood metric for each bit. The likelihood metric is a value indicating a likelihood that a particular signal may have been transmitted with respect to a received signal.
A QAM64 constellation map 10 is provided in FIG. 1, where each complex constellation point on the transmit side is encoded on 6 bits, i.e., a hextuplet. For example, complex constellation point 12 encoded using bits 101111. Part of the maximum likelihood decoding process requires the generation of minimum metric values for all points of the transmitted constellation point as well as the selection of the “best” metric. For higher order QAM modulation schemes a large number of comparison operations have to be performed on each transmitted symbol to find the best metric.
Each complex constellation point on the constellation map is represented by a symbol, where each symbol is defined by 6 bits {b(i),b(i+1),b(i+2) . . . b(i+5)}. One common decoding technique requires the selection (and combination) of two metrics for each encoded data bit in the symbol. One metric is selected from the set where the encoded bit is a 1, and the other metric is selected from the set where the bit is a 0. The selection process is performed for each bit. Diagrams 20-25 show the corresponding encoding of each bit individually is provided in FIGS. 2a-2f. 
For example, in order to decode bit b(i), which corresponds to diagram 20 in FIG. 2a, the best likelihood metric is selected from the 32 values in columns 0 . . . 3 representing the probability (i.e., likelihood) that b(i) was transmitted as a 1, and the best likelihood metric is also selected from columns 4 . . . 7 representing the probability (i.e., likelihood) that b(i) was transmitted as a 0. As far as bit b(i) is concerned, a tree comparison may be performed on each group of 32 metrics in any order requiring 16+8+4+2+1=31 comparison operations to determine the best likelihood metric.
To determine the best likelihood metric for each bit being a 1 and being a 0, 62 comparison operations are performed per bit. Since there are 6 bits per symbol, the total number of comparison operations is 6×62=372 for each symbol, i.e., hextuplet. This comparison process is computational intensive, which negatively effects processing times as well as power consumption.